package user

import (
	"enjoy_xxz/base"
	"enjoy_xxz/formdata"
	"enjoy_xxz/internal/server/user"
	"enjoy_xxz/pkg"
	"fmt"
	"github.com/gin-gonic/gin"
)

// 创建用户地址
func CreateAddr(c *gin.Context) {
	userID := pkg.GetAutoUserID(c)
	var data formdata.CreateUserAddr
	if err := c.ShouldBindJSON(&data); err != nil {
		base.RespData(c, nil, err)
		return
	}
	if data.Name == "" {
		base.RespData(c, "", fmt.Errorf("收货人名称不能为空"))
		return
	}
	if data.Phone == "" {
		base.RespData(c, "", fmt.Errorf("收货人手机号不能为空"))
		return
	}
	err := user.CreateAddr(data, userID)
	base.RespData(c, "", err)
}

// 用户地址列表
func GetAddrListByUserId(c *gin.Context) {
	userID := pkg.GetAutoUserID(c)
	list, err := user.GetAddrListByUserId(userID)
	base.RespData(c, list, err)
}

// 地址详情
func GetAddrDetail(c *gin.Context) {
	userID := pkg.GetAutoUserID(c)
	var data formdata.UpdateAddr
	if err := c.ShouldBindJSON(&data); err != nil {
		base.RespData(c, nil, err)
		return
	}
	addr, err := user.DetailAddr(data, userID)
	base.RespData(c, addr, err)
}

// 获取地址默认地址
func GetAddrDefault(c *gin.Context) {
	userID := pkg.GetAutoUserID(c)
	info, err := user.GetAddrDefault(userID)
	base.RespData(c, info, err)
}
